配置に関するREST APIの使用

配置に関するHP vPV REST APIは、新しいVMの作成時にアプリケーションがHP vPVから配置提案を取得するために使用できます。配置に関するREST APIは、VMwareドメイン内のVMの配置提案のみを示します。

このREST APIは、VMの仕様、コンテナーの仕様、およびストレージの仕様 (オプション) を入力し、VMを最適なクラスターおよびデータストアに配置するための提案を出力します。また、必要なすべてのVMがコンテナーエンティティに配置可能である場合にのみ、配置提案を提供します。

 

リソース情報

応答形式 JSON
リクエストヘッダー要件

Content-Type: application/json

Authorization:Basic <Base 64でエンコードされたユーザー名:パスワード> (オプション。LDAPが有効になっている場合にのみ必須)

サポートされるリクエストメソッド POST

 

リソースURL

https://<IPアドレスまたはホスト名>:<ポート番号>/PV/api/v1/placement

この例では、

 

POSTパラメーター

REST APIリクエスト本文を次に示します。

リクエスト本文は次のオブジェクトで構成されます。

パラメーター 説明
numVM (オプション) 特定の構成の追加するVM数。デフォルト値は1です。
numCPU (オプション) 各VMのCPU数。デフォルト値は1です。
memSizeGB 各VMのメモリサイズ (単位: GB)
diskSizeGB 各VMのディスクサイズ (単位: GB)
expectedCPUUtil (オプション) VMの予想CPU使用率 (単位: %)。デフォルト値は100です。
expectedMemUtil (オプション) VMの予想メモリ使用率 (単位: %)。デフォルト値は100です。
startDayFromToday (オプション)

VMの作成日を現在の日付からの日数で指定します。デフォルト値は1です。

たとえば、値が5の場合は、VMを現在の日付の5日後に配置する必要があることを考慮して配置提案が示されます。

endDayFromToday (オプション)

VMをアクティブな状態に保つ期限を現在の日付からの日数で指定します。デフォルト値は90です。

たとえば、値が20の場合は、VMを現在の日付から20日間アクティブな状態に保つことを考慮して配置提案が示されます。

パラメーター 説明
virtType 仮想化環境のタイプ。現在、配置提案はVMware仮想化環境でのみサポートされています。したがって、値にはVMWAREを指定する必要があります。
type

コンテナーのタイプ。VCENTER、DATACENTER、またはCLUSTERを指定できます。

  • タイプをVCENTERに指定した場合は、パラメーターvcenterNameが必須になります。
  • タイプをDATACENTERに指定した場合は、パラメーターvcenterNameおよびdatacenterNameが必須になります。
  • タイプをCLUSTERに指定した場合は、パラメーターvcenterName、datacenterName、およびclusterNameが必須になります。
vcenterName vCenterの名前
datacenterName データセンターの名前
clusterName クラスターの名前
パラメーター 説明
vcenterName vCenterの名前。containerSpecificationsで指定したvCenter名のいずれかを指定する必要があります。
datacenterName

データセンターの名前。

clusterName クラスターの名前。
datastoreName データストアの名前。

カスタムエラーコード

配置提案を提供できない場合、配置に関するREST APIは次のカスタムエラーコードを返します。

エラーコード エラーの説明
512 入力された仕様を満たす利用可能なクラスターおよびストレージがないため、配置提案を提供できません。
513 予測情報が不足しているため、配置提案を提供できません。
514 必要なVMを配置できる十分なリソースがないため、配置提案を提供できません。

 

サンプルAPI

URL

https://<IPアドレスまたはホスト名>:<ポート番号>/PV/api/v1/placement

 

リクエスト本文

{
	"vmSpecifications":[
	{
		"numVM":5,
		"numCPU":2,
		"memSizeGB":2,
		"diskSizeGB":10,
		"expectedCPUUtil":80,
		"expectedMemUtil":80,
		"startDayFromToday":1,
		"endDayFromToday":90
	},
	{
		"numVM":4,
		"numCPU":4,
		"memSizeGB":8,
		"diskSizeGB":5,
		"expectedCPUUtil":20,
		"expectedMemUtil":40,
		"startDayFromToday":1,
		"endDayFromToday":90
	}
	],
	"containerSpecifications":[
	{
		"virtType":"VMWARE",
		"type":"VCENTER",
		"vcenterName":"iwfvm01029.hpswlabs.adapps.hp.com ",
		"datacenterName" :"ispi_qa_DC_1029",
		"clusterName" :"ispi_qa_CLUSTER_1029"
	},
	{
		"virtType":"VMWARE",
		"type":"DATACENTER",
		"vcenterName":"16.184.45.94",
		"datacenterName" :"DataCenter1",
		"clusterName" :"PMi_Cluster"
	},
	{
		"virtType":"VMWARE",
		"type":"CLUSTER",
		"vcenterName":"iwfvm01030.hpswlabs.adapps.hp.com ",
		"datacenterName" :"ispi_qa_DC_1030",
		"clusterName" :"ispi_qa_CLUSTER_1030"
	}
	],
	"storageSpecifications":[
	{
		"vcenterName" :"iwfvm01029.hpswlabs.adapps.hp.com",
		"datacenterName" :"ispi_qa_DC_1029",
		"clusterName" :"ispi_qa_CLUSTER_1029",
		"datastoreName" :"ovpesx9:storage1"
	},
	{
		"vcenterName" :"16.184.45.94",
		"datacenterName" :"DataCenter1",
		"clusterName" :"PMi_Cluster",
		"datastoreName" :"datastore1_1"
	},
	{
		"vcenterName" :" iwfvm01030.hpswlabs.adapps.hp.com ",
		"datacenterName" :" ispi_qa_DC_1030",
		"clusterName" :" ispi_qa_DC_1030",
		"datastoreName" :"storage3"
	},
	{
		"vcenterName" :" iwfvm01030.hpswlabs.adapps.hp.com ",
		"datacenterName" :" ispi_qa_DC_1030",
		"clusterName" :" ispi_qa_DC_1030",
		"datastoreName" :"storage4"
	}
	]
}
 

 

JSON応答

リクエスト本文で"outputFormat" :"flatlist"を指定した場合、JSON応答は詳細なリストの形式で表示されます。リクエスト本文で"outputFormat" :"flatlist"を指定しない場合、JSON応答は3次元マトリックスの形式で表示されます。返されるJSON応答のタイプは、リクエスト本文に含まれている出力形式パラメーターで決まります。

両方のタイプのJSON応答のサンプル出力を次に示します。

リクエスト本文で"outputFormat" :"flatlist"を指定した場合は、次のJSON応答が表示されます。

"result" :[
{
"vmDetails" :{
		"numCPU":2,
		"memSizeGB":2,
		"diskSizeGB":10,
		"expectedCPUUtil":80,
		"expectedMemUtil":80,
		"startDayFromToday":1,
		"endDayFromToday":90
		},
"containerDetails" :{
		"virtType":"VMWARE",
		"type":"CLUSTER",
		"vcenterName":"iwfvm01030.hpswlabs.adapps.hp.com ",
		"datacenterName" :"ispi_qa_DC_1030",
		"clusterName" :"ispi_qa_CLUSTER_1030"
		},
"storageDetails" :{
		"vcenterName" :" iwfvm01030.hpswlabs.adapps.hp.com ",
		"datacenterName" :" ispi_qa_DC_1030",
		"clusterName" :" ispi_qa_DC_1030",
		"datastoreName" :"storage3"
		}
},
"vmDetails" :{
		"numCPU":2,
		"memSizeGB":2,
		"diskSizeGB":10,
		"expectedCPUUtil":80,
		"expectedMemUtil":80,
		"startDayFromToday":1,
		"endDayFromToday":90
		},
"containerDetails" :{
		"virtType":"VMWARE",
		"type":"VCENTER",
		"vcenterName":"iwfvm01029.hpswlabs.adapps.hp.com ",
		"datacenterName" :"ispi_qa_DC_1029",
		"clusterName" :"ispi_qa_CLUSTER_1029"
		},
"storageDetails" :{
		"vcenterName" :"iwfvm01029.hpswlabs.adapps.hp.com",
		"datacenterName" :"ispi_qa_DC_1029",
		"clusterName" :"ispi_qa_CLUSTER_1029",
		"datastoreName" :"ovpesx9:storage1"
		}
},
.....
}
],
"daysToCapacity" :30,
"errorCode" :0
}

リクエスト本文で"outputFormat" :"flatlist"を指定しない場合は、次のJSON応答が表示されます。

{
	"numVMConfigDetails" :2,
	"numContainerDetails" :3,
	"numStorageDetails" :4,
	"vmConfigDetailsList" :[ 
	{
		"numVM":5,
		"numCPU":2,
		"memSizeGB":2,
		"diskSizeGB":10,
		"expectedCPUUtil":80,
		"expectedMemUtil":80,
		"startDayFromToday":1,
		"endDayFromToday":90
	}, 
	{
		"numVM":4,
		"numCPU":4,
		"memSizeGB":8,
		"diskSizeGB":5,
		"expectedCPUUtil":20,
		"expectedMemUtil":40,
		"startDayFromToday":1,
		"endDayFromToday":90
	} ],
	"containerDetailsList" :[ {
		"virtType" :"VMWARE",
		"type" :"CLUSTER",
		"vcenterName" :"iwfvm01029.hpswlabs.adapps.hp.com",
		"datacenterName" :"ispi_qa_DC_1029",
		"clusterName" :"ispi_qa_CLUSTER_1029",
		"daysToCapacity" :30
	}, 
	{
		"virtType" :"VMWARE",
		"type" :"CLUSTER",
		"vcenterName" :"16.184.45.94",
		"datacenterName" :"DataCenter1",
		"clusterName" :"PMi_Cluster",
		"daysToCapacity" :70
	},
	{
		"virtType" :"VMWARE",
		"type" :"CLUSTER",
		"vcenterName" :" iwfvm01030.hpswlabs.adapps.hp.com ",
		"datacenterName" :" ispi_qa_DC_1030",
		"clusterName" :" ispi_qa_DC_1030",
		"daysToCapacity" :50}
	],
	"storageDetailsList" :[ 
	{
		"vcenterName" :"iwfvm01029.hpswlabs.adapps.hp.com",
		"datacenterName" :"ispi_qa_DC_1029",
		"clusterName" :"ispi_qa_CLUSTER_1029",
		"datastoreName" :"ovpesx9:storage1",
		"daysToCapacity" :90
	}, 
	{
		"vcenterName" :"16.184.45.94",
		"datacenterName" :"DataCenter1",
		"clusterName" :"PMi_Cluster",
		"datastoreName" :"datastore1_1",
		"daysToCapacity" :90
	},
	{
		"vcenterName" :" iwfvm01030.hpswlabs.adapps.hp.com ",
		"datacenterName" :" ispi_qa_DC_1030",
		"clusterName" :" ispi_qa_DC_1030",
		"datastoreName" :"storage3",
		"daysToCapacity" :40
	},
	{
		"vcenterName" :" iwfvm01030.hpswlabs.adapps.hp.com ",
		"datacenterName" :" ispi_qa_DC_1030",
		"clusterName" :" ispi_qa_DC_1030",
		"datastoreName" :"storage4",
		"daysToCapacity" :60
	}
 ],
"resultMatrix" :[ [ [ 2, null, null, null ], [ null, 2, null, null], [ null, null, 1, null] ], [ [ 2, null, null, null ], [ 1, null, null, null ],[ 1, null, null, null ] ] ],
"daysToCapacity" :30

 

サンプル出力の詳細

このAPIは、配置提案をマトリックスの形式で提供します。マトリックスは、他の出力パラメーターを把握すると解釈できます。出力パラメーターの概要を次に示します。

パラメーター 説明
numVMConfigs VM構成の合計数
numContainers VMを配置できる個別クラスターの合計数
numDatastores VMを配置できる個別データストアの合計数
vmConfigDetailsList このオブジェクトにはVM構成のリストが示されます。リスト内のVM構成の順序は結果マトリックスの解釈に必要となるため、この順序に留意してください。
containerDetailsList このオブジェクトにはVMを配置できるコンテナーのリストが示されます。リスト内のコンテナーの順序は結果マトリックスの解釈に必要となるため、この順序に留意してください。
storageDetailsList このオブジェクトにはVMを配置できるデータストアのリストが示されます。リスト内のデータストアの順序は結果マトリックスの解釈に必要となるため、この順序に留意してください。

resultMatrix:配置提案は3次元マトリックスの形式で示されます。サンプル出力の結果マトリックスは次のとおりです。

[
 [ [ 2, null, null, null ], [ null, 2, null, null ], [ null, null, 1, null] ], 
 [ [ 2, null, null, null ], [ null, 1, null, null ],[ null, null, null, 1] ] 
]

次に結果マトリックスを図で示します。